home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1995 October
/
EnigmA AMIGA RUN 01 (1995)(G.R. Edizioni)(IT)[!][issue 1995-10][Aminet 7].iso
/
Aminet
/
mus
/
play
/
PS3M311.lha
/
PS3M
/
PS3M.doc
< prev
next >
Wrap
Text File
|
1995-06-22
|
25KB
|
707 lines
PS3M ® 3.11ß / 22.06.95
Copyright © 1994-95 Jarno Paananen
Guru / Sahara Surfers
A Sahara Surfers Product 1995
Some words about PS3M:
This little thing could be just another program to play music. It wouldn't
even be the first one I have done. The only special thing is that it plays
S3M-modules. For those to whom that word says nothing, can be told that
they are the modules from all newer Future Crew demos (from Fishtro
onwards), compotunes and the three Journey musicdisks from Purple Motion
and Chaotic Mind from Skaven. After the "recent" release of Screamtracker
to the public, more and more modules have come from other musicians too.
As they use 1-32 channels (although "only" 16 digital channels and 9
AdLib-channels) and 8 octaves, a normal Amiga is not capable to play them,
right? Yes, until now.
From version 000.9 onwards also 6-8 channel Fasttracker modules can be
played with PS3M (should I change the name?!?). Although you can also
play 4-channel Protracker tunes, I think there are faster programs
available for that :)...
In version 002.5 came support for Multitracker (MTM) modules and 1-32
channel Protracker-style modules (Taketracker and Fasttracker ][, at
least).
AND!
In version 3.10 came support for XMs (stands for Extended Module) which
are produced by the fabulous Fasttracker ][ on the PC (unfortunately ;).
This format is becoming more and more popular because the features of the
tracker are way ahead all the others... (sorry this praise, but I also
have a PC and I am able to use this wonderful program! Is this enough
already, Pauli? ;)
Hint: As there isn't any panning support at the moment, it's usually
best to play the XMs in mono (or real surround if you like). 14-bit
stereo is a case of it's own, though.
AND AGAINST (TOO) POPULAR OPINION, WORKS FINE UNDER KS1.2! (haven't tried
on 1.1 ;) WITH APPROPRIATE REQTOOLS.LIBRARY. Most of the code is
developed under KS1.3.
Reqtools and Powerpacker libraries (by Nico François) required.
!!NOTICE!!:
From version 002.0 onwards, PS3M has a config file! Use of it is
_recommended_! Check it out for further information.
Technical "information":
This player makes quite a big difference to those "normal" Amiga players as
it has to mix all those channels to, in this case two, normal channels.
This is the normal convention on the PC as for example normal Sound Blaster
has only one digital channel. The only hard part is to make it fast still
having great sound quality. For those interested, this mixing routine is
not one of those lame ones like in Startrekker, Octamed, Oktalyzer and so
on. It has real volumes and periods for each channel unlike the former ones
that control the volume with hardware and have no independent volume
control for channels. It mixes the sound in 16 bits for maximum quality and
has a volume boosting option to make the sound louder and clearer with
multiple (8+) channels. From version 002.5 onwards also a special 14-bit
output mode is available. The actual mixing loop is highly optimized and
has only 6 instructions (is faster than the one with 5...) per sample. All
this makes it possible to play even 8 channel S3Ms with high mixing rates
and great quality on a normal 000-Amiga. The better (=faster) your machine
is, the higher rates you get. It is designed to use as little chip-ram as
possible to fasten up on machines with real fast-ram. The system is by
default disabled for the playing to get the maximum performance out of a
normal stock-000. From 000.2 onwards, system friendly option is included
for those with AGA- or turbomachines and even us poor mortals... On a
stock A500 it jams your machine nearly completely, so be careful. Still I
use it quite a lot on my A500-010-FAST, so it isn't too bad after all...
The blue bars at the bottom of the screen indicate that the player has
free time. This helps you to tune the maximum mixing rate for each tune
separately.
"Surround" or Surround?
There has been some argue about whether the surround option is a real
Dolby Surround or not. Therefore: IT HAS NOTHING TO DO WITH THAT DOLBY
THING, it is made just to enchance the dull stereo sound by playing
the two buffers from left and right with full volume and vice versa with
half of the volume. Like this:
Channel 0 - Left buffer, full volume
Channel 1 - Right buffer, full volume
Channel 2 - Left buffer, half volume
Channel 3 - Right buffer, half volume
This should end that discussion. Thanks for the ones who contributed
with pertinent response.
BUT!!!
As everything changes these days, also PS3M now has Real Surround-option.
It needs a little more processor power, but not that much I though. Also
double the chip memory is needed for extra buffers. It enchances the
sound nicely with headphones and is nice also with normal speakers. And
if you got a Dolby Prologic decoder (lucky you!), you should get the
effect quite nicely... However, at this stage this option is still rather
simple as all channels are then played from the surround speaker... In
the (near ;) future channel specific panning option will be included and
then you will be able to select specific channels to be played from the
surround speaker. And this includes also possibility to pan all channels
separately to what ever place in left-right soundscape... and take some
more of your precisious processor time ;)
Some commercial advertisement:
This PS3M-routine is also used in the following players, so if you are
not content with the "user-interface", use these:
HippoPlayer from Hippopotamus Design (MUST for under 2.0 Kickstarts, we
still do exist! Not bad for 2.0+ either... Hi K-P!)
DASMP from DAS Design (from 3.0 onwards Hi Pauli!)
DeliTracker ][ also has a S3M-DeliPlayer (Hi Peter!) and it was
released with version 2.07. XM-Deliplayer should also be coming ;)
(God I love those ][ Roman numbers ;)
EaglePlayer (Version >1.52? Hi Henryk!)
Accessible Player (Version 1.2? Hi you all!)
In a new multichannel tracker with working title XTracker(?)(Hi Bernardo!)
If you're working with Atari Falcon (yakk! ;) you might also come across
my routines. Although mixing is done with the DSP, the replay routines
should be mine. 16 channels, 50 kHz, interpolation and 24-bit volumes, not
bad! (Hi Martin!)
AND! The basic PS3M-routine (modified a bit) was also used in the title
music of Super Stardust from Bloodhouse ltd. and Team 17. GREAT game,
even without those musics ;)
Get yourself The Player 6.1, available since Assembly'94! Now at
version 610.2 / 22.6.1995 ;)
Legal stuff:
This program and _all_ other stuff coming in this package are
_FULLY_ copyrighted by
Jarno Paananen / Guru of Sahara Surfers.
The author cannot be held liable for the suitability or accuracy of this
manual and/or the program it describes. Any damage directly or indirectly
caused by the use or misuse of this manual and/or the program it describes
is the sole responsibility of the user her/him self.
This program is freeware. You can distribute it as long as _ALL_ files are
included and not more than a nominal fee for copying is asked. This program
can _NOT_ be used for commercial purposes (including shareware) without
a written permission from the author and a contribution for development
costs (like Coca-Cola :-). If you have suggestions or remarks about this
program, or if you find any bugs, please let me know.
All reverse engineering is forbidden and that means that you're not allowed
to rip the player from this program as I'm intending to use it for
commercial purposes. If this happens I have to stop releasing these kind of
programs. If you are really interested and want to use this in some
production, contact me and we can discuss about it. It's up to you...
THIS IS A BETA-PRERELEASE-TEST VERSION AND IS IN CONSTANT CHANGE. FURTHER
VERSIONS ARE COMING IF THE ABOVE IS NOT VIOLATED.
Contact address:
I'm improving this utility for my own use (they made me release this!),
but send me some $$$ (Finnish marks, please) or two disks with a return
envelope WITH stamps (or International Response Coupon) and I'll send you
the newest version (Mention which version you have, so I won't send the
same version!) IF THESE CONDITIONS ARE NOT MET, ABSOLUTELY NO REPLY IS
GUARANTEED!
If you for some odd reason (especially commercial stuff) want to contact me,
the address is, although e-mail is strongly recommended:
J. Paananen
Puskalantie 6
FIN-37120 Nokia
Finland
European Union ;)
Or by phone: +358-31-3422147 / Jarno
Or preferably via Internet:
jpaana@kauhajoki.fi
(main account)
or
jpaana@freenet.hut.fi
(redirected)
(fool-proof ;)
NOTE!
Once again one of my accounts, Jarno_Paananen@sonata.fipnet.fi, died by
the end of March, so please do _NOT_ use it anymore. My main account,
jpaana@kauhajoki.fi, is now the only guaranteed way to contact me, although
the mail system there has some problems sending mail sometimes. All
your mail should come through alright and also I hopefully can answer
you in reasonable time.
Some revision history:
(reading not obligatory, but strongly recommended! Most of the real
stuff is down here ;)
- = Bugfix
+ = New feature
* = Change
! = Major event ;)
? = Guess!
3.11ß / 26.03.-22.06.1995
? Three months again! Am I getting lazy or what?!?!
In fact I was going to delay this release even further so I'd
get PS3M.library ready and this version to use it, but that
will be reality not until version 3.20ß, finally including also
_true_ channel specific stereo panning with real surround etc.
So just drool and wait ;)
- TDZx-style modules weren't recognized properly. Thanks Peter!
- You weren't able to use volume boost greater than 4 from the
config file. Thanks Jani!
- There was a bug in retrig note routine of MODs. Sample length
was set to 2^16 times too large value, ie. was written as a
word instead of a long word. Thanks Martin!
- the loader hanged when running out of memory while loading an
unpacked, Powerpacked or FIMPed module. I use XPK, so...
Thanks Petri!
- If there was an initialization error with one module, PS3M
got into infinite loop if you answered 'cancel' in the
requester. Thanks Lauri and the others!
- XM retrig note and multi retrig note bugged, ie. played bogus
samples, maybe crashed... Thanks VERY much Peter!
- Fixed problems with global volume setting in S3Ms. This
solved crashes with modules like Starshine by Purple Motion.
- S3M retrig note crashed all 000/010 based machines and sounded
at least weird on others...
- S3M sample offset bugged, ie. sounded wrong. These both were
again leftovers from the last bigger changes for the XM-support
;(
- 000/010 mixing routines mixed one byte too much if a
non-looped instrument ended during mixing. No real harm but
anyway. Thanks Thomas!
- VBR check in killer mode might have failed. Thanks K-P!
- Some XMs have zero initial speed, so they didn't start at all!
Thanks again Peter!
* All mixing routines are again a bit faster, especially on true
32-bit machines.
* Rewrote the FIMP-loader to use about half of the memory it
used before... Now it uses only the amount that the unpacked
module needs.
* Some sanity checking to XM loops, but still no ping-pong loops
;(
+ You can now define the font PS3M uses in the config file!
The GUI itself is not yet font sensitive, so use only sizes
8 or smaller... Hi Lauri!
+ Implemented some more S3M commands:
- fine vibrato (command U, implemented in ST3.2)
! Sorry about that "BETA VERSION FOR INTERNAL USE ONLY! DO _NOT_
DISTRIBUTE!" -text which was left by accident to version 3.10. One
little option was left on during the final compilation...
! My final exams are now finally over! But then again, I got a job
until the end on July, so...
? Someone said that "ß" seems to be my trademark, but well, it's true!
PS3M is "only" a testbench for my replay routines, which had to be
extended to some kind of a player due to public pressure ;)
3.10ß / 21.01-19.03.1995
? No new versions for over two months! Well, the reason is
just below:
! FASTTRACKER ][ XM-SUPPORT!
Full list of the features made up for this purpose would be too
long to be included in here, so I'll make it brief:
- 2-32 channels supported (nothing new ;)
- full instrument support w/:
- multisample support
- full envelope support
- autovibrato, fadeout, etc.
- 16-bit samples are supported but converted
to 8-bit at the moment
- nearly complete command support, missing:
- Glissando control
- Vibrato and tremolo waveforms
- Set finetune
- Pattern loop
- All panning related commands
- linear and "Amiga" (period based) frequencies supported
- variable length patterns, restart position, independent
master volume, etc., etc.
NOTE! PS3M supports only format version $104, which is the one
of all released versions of FT2, but there are some old modules
of format $102 (claustr2.xm, shelcomb.xm and some others by
Vogue / Triton), which can't be played because the $102 format is
different and not documented (is $104 then? ;). The solution is
to load them in FT2 (it loads all XM-formats) and save it in
version $104 format.
+ You can now define the mixing buffer size in the config file.
Check it out!
+ You can now supress the startup-banner in the config file.
+ The "Pos" gadget now restarts the song, "Vol" gadget acts as
mute switch and the play gadget now always loads new song(s).
- Fixed miscellaneous bugs appeared during the development...
! Again, my birthday was on the 17th of February!
? 40k-limit broken... and badly... The source is now _171_ kB!!!
? Some people have wondered how I can program something like
this on an A500 and after playing with 16 channel XMs, I have
begun to feel the same myself. I'll see if I get a faster
machine somewhere. Donations for this purpose are of course
welcome although I'm not making PS3M shareware. So!
3.06ß / 18.01.1995
* Changes for the upcoming XM-support.
+ Plays samples up to 4 GB (in fact this was there already from
the very beginning, but the length field was only a word for
Amiga hardware register "compatibility" (the "registers" were in
the same order and had the same sizes)...)
(Internal beta)
3.05ß / 08.01.1995
! Happy new year! We're in the European Union! Greetings
to all who were at The Party'94! Especially Accessible guys
and Spoon (Hi Shayera, I'll hopefully send this soon...)
+ PS3M can now be closed with CTRL_C signal, but unfortunately
not in Reqtools-windows. Hi Urban!
+ You're now able to define also default playing mode for a
specific module in the config file. Check it out for an
example. Hi (damn I have a short memory with names... Anyway,
you should know who you are ;)!
- Hopefully fixed reported problems with ST3.2 modules. Worked
with all (two ;) modules I tested. The other was a certain
crash with 3.04... Thanks (again the same person above...)
3.04ß / 03.12.1994
- Fixed a crash when ejecting immediately after pausing in
system friendly mode. Thanks K-P!
- Fixed some error handling bugs. Thanks Simply!
* Rationalized the command line parser, check out the changes in
syntax!
+ Added primitive setup (the override option from version 2.5),
which is _NOT_ going to be final, but just a quick & dirty
hack for your (and mine too!) convenience ;)
3.03ß / 05.11.1994
- Fixed a lock-up in the config handling.
3.03ß / 03.11.1994
- Fixed that skipping, K-P!
* Some clean up in the source code... Hi all of you who
have asked for those sources. They are on the way...
3.02ß / 30.10.1994
- Quick fix on the mixing system. 000 divide sucks.
3.02ß / 28.10.1994
- System killer mode works again...
- Fixes in the mixing system.
* Exiting killer mode just pauses the module instead of
ejecting...
- Fixes in memory management.
! As you can see from the update rate, I'm pretty busy at the moment due
to my approaching graduation exams. So please be patient with your
e-mails and letters, I try to answer them as soon as possible even if it
means several weeks. Thank you.
3.01ß / 05.10.1994
* Mixing system changed a little to get a bit more stable
consumption of machine power.
- Fixed to work with my machine again ;) (Simply! Dump that
version on your hard disk...)
- Memory management fixed once again.
3.01ß / 29.09.1994
* Nearly all memory is now allocated dynamically according to
current playing mode, amount of channels and such. So no
waste memory used anymore! (Number of hunks dropped from 9 to
7...)
3.01ß / 12.09.1994
- Some memory management problems fixed.
3.01ß / 11.09.1994
+ 14-bit mixing speeded up by 2 cycles/byte/channel on 68000!
Thanks Pauli!
+ 020+ optimized versions finally included! Improvement is
mainly directed to 020s as is fits in to the cache, but
should be faster on any 020+ machine.
? Sorry for the huge size (35 kB) ;) It´s a long way from
the first version and 9 kB... But I do hope it´s been to
the better!
3.00ß / 10.09.1994
! Back to "normal" version numbering ;)
! PS3M now has GUI! "Ripped" from P60 player, but who cares as
it has all the required features (and because I´m lazy ;).
Some things are still missing, like proper module list
functions and configuration window (that shaded gadget), but I
hope I get them done in the "near" future.
Enjoy!
? A known bug: the timer goes crazy at midnight ;)
002.6ß / 03.09.1994
* Some fixes with the so-called "ALE"-effect and note delay.
(None of 002.6ß versions was ever released)
002.6ß / 28.08.1994
* Proper finetune support for MTMs although the editor doesn´t
support them, but is compatible with.
- Fixed that "disappearing surround channels"-bug! A really
stupid mistake from my side, not an actual bug...
- Some other fixes I don´t remember anymore.
002.6ß / 11.08.1994
* Still some fixes with MTMs. All notes were played one half
note too low as the MTM scale begins from C#0, not C-0...
(Note 0 means no note at all and that should be C-0...)
* Vol0-Optimizations are now finally correct.
002.6ß / 10.08.1994
* Some fixes with MTMs. Most of the commands are run also in
"set frames".
* Got rid of "twisted" sound with low mixing rates.
002.6ß / 26.07.1994
+ Proper vol0-optimizations.
- Loops are now correct also 020+ version.
- Sample was retrigged when changing only sample in 020+
version. That's why the Super Stardust title sounded so
baaaaad.
002.6ß / 18-21.07.1994
* Mixing routines rewritten for 020+. Old routines which are
faster on 000/010 are also retained and used when no 020+ is
found.
* Little changes nearly everywhere.
002.5ß / 15.-30.06.1994
+ 14-bit output! Needs _Much_ power, but is hopefully worth it.
Special 020+ optimized version should be included in 002.6.
+ Multitracker (MTM) support!
+ TakeTracker and similar 1-32 channel Protracker-style module
support.
- Some fixes with S3M-quirks.
+ Replay version is now also shown in info window to help
comparision to other players using PS3M-play routine.
* Show sample names now shows 16 names instead of 20 on one page.
Don't worry about that ß, because this is real 002.5. It's beta just
because I hadn't the time to do some improvements to the mixing routines.
002.4 / 12.06.1994
+ Added show sample names option. Hi Icebeat!
- Fixed a bug when started from WB.
+ Added contact info text.
- Little fixes.
002.3 / 25.05.1994
* Some speed improvements for 020+ (uses more lword access).
No slow down on 000/010.
* Recalculated S3M period table for NTSC (was PAL) as ST3 uses
NTSC periods.
+ Little touches here and there (All error messages now start
with capital letter, etc. :)
- Fixes in command line parser. NOTICE: system friendly option
is now just -s with no extras. If not present, disable option
is used.
- No more crap if no config file present.
Thanks again Deadbeat!
002.2 / 09.-10.05.1994
(Four versions in three days... maybe I should give myself a break?
No new versions for a week, promise!)
+ REAL SURROUND!
- Hopefully fixed that >32 kHz bug (Yolk, tell me!)
002.1 / 08.05.1994
(Fast, eh Yolk?)
+ Final solution for the screen mode problem, CIA! So, now it
SHOULD work also with those modes. But who uses them anyway, PAL
and A500 rule :)
+ BTW, in Productivity mode you can get mixing rate up to 56 kHz!
Thus artificial 28 kHz limit changed to 56. Note: as said works
only in Productivity mode. (Yolk: You said something about
working also in double-PAL (double-NTSC too?))
002.0 / 08.05.1994
(Oops, another digit :-)
+ PS3M now has a CONFIG FILE! It resides in S: and is called
(surprise, surprise!) PS3M.config. Check it out for format
and options.
- Still little fixes.
- Channel detection routine had some _serious_ bugs. Fixed.
+ At last, error messages!
- Loading a non-existent file crashed the machine. Fixed.
001.1 / 07.05.1994
- Still more bug fixes in system routines.
+ Should work (at least better) under NTSC and Multiscan modes. (Hi
Yolk!)
001.0 / 05.05.1994
? Darn, slipped to the next digit :-)...
- Fixed a bug in my XPK-loader, should work better although I
haven't noticed the difference...
* Changed the priority to 4 to make it more usable with slower
machines in system friendly mode.
- Crashes with slow machines should be over! (or at least less...)
* Changed to colors (now HiP-compatible :-) in system killer mode!
Thanks to K-P Koljonen for these! (Hi again, sending coming
sometime in the future :)
- The module name wasn't shown if started from command line in
system friendly mode, fixed. Thanks Deadbeat!
- Fixed a potential bug in sample offset command.
- Now you don't have to click the stop gadget twice
000.9 / 24.04.1994
+ Added FastTracker 6-8 channel and 4 channel ProTracker replay!
? Should the name be changed? Opinions been accepted.
+ Added command line options to bypass the requesters. See usage
by typing PS3M ?
000.8 / 08.04.1994
+ Changed the mixing loops to use 6 instructions, which made them
faster (2 cycles/byte/channel on 68000). Thanks Peter Kunath!
- Some potantial bugs fixed.
000.7 / 22.03.1994
+ Added shortcuts for requesters
+ Added skipping of positions $ff, which are separators of
different songs in one module. Used in TMP.S3M.
000.6 / 19.03.1994
- Added range checking to sample offset.
- Implemented some bugs in STMIK. Now PANIC.S3M plays correctly.
000.5 / 08.03.1994
- Some "little" fixes in retrig note. Wonder if it worked at all...
000.4 / 25.02.1994
- Ooops, Vibrato+Volslide and Toneportamento+Volslide were the
wrong way around. Too much Protracker-experience?
000.3 / 24.02.1994
+ Support for other than 50 Hz screenmodes (was a bug really...)
+ Correct CurrentDir
? Crashes under system are probably due to too slow machine as on
A4000 this doesn't happen at all... Trying to fix it...
? Planning some support for other multichannel modules (MTM, 669,
FastTracker 6 and 8 channels, etc...) Infos about these modules
are appreciated...
000.2 / 10.02.1994
+ Added system friendly option!
- For some odd reason some tunes crash under system...
! BTW, my birthday is on the 17th!
000.1 / 09.02.1994
- Fixed a bug with volumeslide. Now Satellite One plays correctly.
- Auch! I had left some fast-mem-only hunks in the executable.
Fixed.
000.0 / 03.02.1994
! Inital release on public pressure...